﻿<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>MacroSendMacroText</title>
<meta http-equiv="Content-Type" Content="text/html; charset=utf-8">
<link rel="stylesheet" type="text/css" href="../../styles/styles.css">
<script language="javascript" src='../links.js' type="text/javascript"></script>
</head>
<body>

<h1>MacroSendMacroText</h1>
<div class=navbar>
<a href="../index.html">главная</a> |
<a href="index.html">структуры</a> |
<a href="../macroapi/index.html">Macro API</a>
</div>

<div class=shortdescr>
Структура <code>MacroSendMacroText</code> используется в функции <a href="../service_functions/macrocontrol.html">MacroControl</a> для передачи макропоследовательности в Far Manager.
</div>

<pre class=syntax>
struct MacroSendMacroText
{
  size_t StructSize;
  FARKEYMACROFLAGS Flags;
  INPUT_RECORD AKey;
  const wchar_t *SequenceText;
};
</pre>

<h3>Элементы</h3>
<div class=descr>
  <div class=dfn>StructSize</div>
    <div class=dfndescr>Это поле должно содержать размер структуры <code>MacroSendMacroText</code>. Перед использованием структуры плагин должен заполнить поле.</div>
  <div class=dfn>Flags</div>
    <div class=dfndescr>Комбинация флагов (тип <code><a name="FARKEYMACROFLAGS">FARKEYMACROFLAGS</a></code>):
    <table class="cont">
    <tr class="cont"><th class="cont" width="40%">Флаг</th><th class="cont" width="60%">Описание</th></tr>
    <tr class="cont"><td class="cont" width="40%"><a name="KMFLAGS_ENABLEOUTPUT">KMFLAGS_ENABLEOUTPUT</a></td>
    <td class="cont" width="60%">Отображать на экране результат работы каждой клавиши.</td></tr>
    <tr class="cont"><td class="cont" width="40%"><a name="KMFLAGS_NOSENDKEYSTOPLUGINS">KMFLAGS_NOSENDKEYSTOPLUGINS</a></td>
    <td class="cont" width="60%">Не передавать клавиши редакторным плагинам (плагинам, экспортирующим функцию <a href="../exported_functions/processeditorinputw.html">ProcessEditorInputW</a>).</td></tr>
    <tr class="cont"><td class="cont" width="40%"><a name="KMFLAGS_SILENTCHECK">KMFLAGS_SILENTCHECK</a></td>
    <td class="cont" width="60%">Не отображать на экране результат проверки макропоследовательности.</td></tr>
    <tr class="cont"><td class="cont" width="40%"><a name="KMFLAGS_LANGMASK">KMFLAGS_LANGMASK</a></td>
    <td class="cont" width="60%">Трёхбитовая область, в которой задаётся язык макропоследовательности.</td></tr>
    <tr class="cont"><td class="cont" width="40%"><a name="KMFLAGS_LUA">KMFLAGS_LUA</a></td>
    <td class="cont" width="60%">Язык макропоследовательности - Lua (значение по умолчанию).</td></tr>
    <tr class="cont"><td class="cont" width="40%"><a name="KMFLAGS_MOONSCRIPT">KMFLAGS_MOONSCRIPT</a></td>
    <td class="cont" width="60%">Язык макропоследовательности - MoonScript.</td></tr>
    <tr class="cont"><td class="cont" width="40%"><a name="KMFLAGS_NONE">KMFLAGS_NONE</a></td>
    <td class="cont" width="60%">Нулевой флаг.</td></tr>
    </table></div>
  <div class=dfn>AKey</div>
    <div class=dfndescr>Клавиша вызова макроса, структура <a href="../winapi/input_record.html">INPUT_RECORD</a>.</div>
  <div class=dfn>SequenceText</div>
    <div class=dfndescr>
      Строка, содержащая макрос в текстовом виде.<br>
      Если строка начинается с символа <code>@</code>, то используется следующий формат:
          <code>@&lt;имя файла-скрипта&gt; [&lt;параметры скрипта&gt;]</code>
      <ul>
      <li>В имени файла допустимо использование переменных окружения.
      <li>Опциональные параметры скрипта представляют список выражений, разделённых запятыми. Выражения должны использовать тот же язык программирования, что и скрипт.
      <li>Пример: <code>@%MyFarScripts%\calc.lua 'factorial', 3+5</code>
      </ul>
    </div>
</div>

<h3>Замечания</h3>
<div class=descr>
</div>

<div class=see>Смотрите также:</div>
<div class=seecont>
<a href="index.html">структуры</a>
</div>

</body>
</html>